package net.maku.project.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 流程环节表
 *
 * @author aili 1106997025@qq.com
 * @since 1.0.0 2024-07-09
 */
@Data
@Schema(description = "流程环节表")
public class ProcessStepsVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "环节ID，主键，自增")
    private Long id;

    @Schema(description = "所属阶段ID")
    private Long stageId;

    @Schema(description = "流程环节名称")
    private String name;

    @Schema(description = "是否需要企业提交资料")
    private Integer needConfirm;

    @Schema(description = "办结时限，单位：天，为0表示无时限，默认为0")
    private Integer deadline;

    @Schema(description = "环节顺序")
    private Integer sort;

    @Schema(description = "是否并行环节")
    private Integer parallel;

    @Schema(description = "是否为分支点")
    private Integer branchPoint;

    @Schema(description = "下一个环节ID列表，JSON格式")
    private String nextSteps;

    @Schema(description = "是否为阶段首个环节")
    private Integer firstStep;

    @Schema(description = "是否为阶段最后一个环节")
    private Integer lastStep;

    @Schema(description = "环节处理角色")
    @TableField(value = "handler_role",typeHandler = JacksonTypeHandler.class)
    private List<Long> handlerRole;


}